home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / playlist.h < prev    next >
C/C++ Source or Header  |  2001-10-08  |  27KB  |  848 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 5.03.0286 */
  8. /* Compiler settings for playlist.idl:
  9.     Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext, robust
  10.     error checks: allocation ref bounds_check enum stub_data 
  11.     VC __declspec() decoration level: 
  12.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  13.          DECLSPEC_UUID(), MIDL_INTERFACE()
  14. */
  15. //@@MIDL_FILE_HEADING(  )
  16.  
  17.  
  18. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  19. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  20. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  21. #endif
  22.  
  23. #include "rpc.h"
  24. #include "rpcndr.h"
  25.  
  26. #ifndef __RPCNDR_H_VERSION__
  27. #error this stub requires an updated version of <rpcndr.h>
  28. #endif // __RPCNDR_H_VERSION__
  29.  
  30. #ifndef COM_NO_WINDOWS_H
  31. #include "windows.h"
  32. #include "ole2.h"
  33. #endif /*COM_NO_WINDOWS_H*/
  34.  
  35. #ifndef __playlist_h__
  36. #define __playlist_h__
  37.  
  38. /* Forward Declarations */ 
  39.  
  40. #ifndef __IAMPlayListItem_FWD_DEFINED__
  41. #define __IAMPlayListItem_FWD_DEFINED__
  42. typedef interface IAMPlayListItem IAMPlayListItem;
  43. #endif     /* __IAMPlayListItem_FWD_DEFINED__ */
  44.  
  45.  
  46. #ifndef __IAMPlayList_FWD_DEFINED__
  47. #define __IAMPlayList_FWD_DEFINED__
  48. typedef interface IAMPlayList IAMPlayList;
  49. #endif     /* __IAMPlayList_FWD_DEFINED__ */
  50.  
  51.  
  52. #ifndef __ISpecifyParticularPages_FWD_DEFINED__
  53. #define __ISpecifyParticularPages_FWD_DEFINED__
  54. typedef interface ISpecifyParticularPages ISpecifyParticularPages;
  55. #endif     /* __ISpecifyParticularPages_FWD_DEFINED__ */
  56.  
  57.  
  58. #ifndef __IAMRebuild_FWD_DEFINED__
  59. #define __IAMRebuild_FWD_DEFINED__
  60. typedef interface IAMRebuild IAMRebuild;
  61. #endif     /* __IAMRebuild_FWD_DEFINED__ */
  62.  
  63.  
  64. /* header files for imported files */
  65. #include "unknwn.h"
  66. #include "strmif.h"
  67.  
  68. #ifdef __cplusplus
  69. extern "C"{
  70. #endif 
  71.  
  72. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  73. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  74.  
  75. /* interface __MIDL_itf_playlist_0000 */
  76. /* [local] */ 
  77.  
  78.  
  79. enum AMPlayListItemFlags
  80.     {    AMPLAYLISTITEM_CANSKIP    = 0x1,
  81.     AMPLAYLISTITEM_CANBIND    = 0x2
  82.     };
  83.  
  84.  
  85. extern RPC_IF_HANDLE __MIDL_itf_playlist_0000_v0_0_c_ifspec;
  86. extern RPC_IF_HANDLE __MIDL_itf_playlist_0000_v0_0_s_ifspec;
  87.  
  88. #ifndef __IAMPlayListItem_INTERFACE_DEFINED__
  89. #define __IAMPlayListItem_INTERFACE_DEFINED__
  90.  
  91. /* interface IAMPlayListItem */
  92. /* [unique][uuid][object] */ 
  93.  
  94.  
  95. EXTERN_C const IID IID_IAMPlayListItem;
  96.  
  97. #if defined(__cplusplus) && !defined(CINTERFACE)
  98.     
  99.     MIDL_INTERFACE("56a868ff-0ad4-11ce-b03a-0020af0ba770")
  100.     IAMPlayListItem : public IUnknown
  101.     {
  102.     public:
  103.         virtual HRESULT STDMETHODCALLTYPE GetFlags( 
  104.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  105.         
  106.         virtual HRESULT STDMETHODCALLTYPE GetSourceCount( 
  107.             /* [out] */ DWORD __RPC_FAR *pdwSources) = 0;
  108.         
  109.         virtual HRESULT STDMETHODCALLTYPE GetSourceURL( 
  110.             /* [in] */ DWORD dwSourceIndex,
  111.             /* [out] */ BSTR __RPC_FAR *pbstrURL) = 0;
  112.         
  113.         virtual HRESULT STDMETHODCALLTYPE GetSourceStart( 
  114.             /* [in] */ DWORD dwSourceIndex,
  115.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtStart) = 0;
  116.         
  117.         virtual HRESULT STDMETHODCALLTYPE GetSourceDuration( 
  118.             /* [in] */ DWORD dwSourceIndex,
  119.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtDuration) = 0;
  120.         
  121.         virtual HRESULT STDMETHODCALLTYPE GetSourceStartMarker( 
  122.             /* [in] */ DWORD dwSourceIndex,
  123.             /* [out] */ DWORD __RPC_FAR *pdwMarker) = 0;
  124.         
  125.         virtual HRESULT STDMETHODCALLTYPE GetSourceEndMarker( 
  126.             /* [in] */ DWORD dwSourceIndex,
  127.             /* [out] */ DWORD __RPC_FAR *pdwMarker) = 0;
  128.         
  129.         virtual HRESULT STDMETHODCALLTYPE GetSourceStartMarkerName( 
  130.             /* [in] */ DWORD dwSourceIndex,
  131.             /* [out] */ BSTR __RPC_FAR *pbstrStartMarker) = 0;
  132.         
  133.         virtual HRESULT STDMETHODCALLTYPE GetSourceEndMarkerName( 
  134.             /* [in] */ DWORD dwSourceIndex,
  135.             /* [out] */ BSTR __RPC_FAR *pbstrEndMarker) = 0;
  136.         
  137.         virtual HRESULT STDMETHODCALLTYPE GetLinkURL( 
  138.             /* [out] */ BSTR __RPC_FAR *pbstrURL) = 0;
  139.         
  140.         virtual HRESULT STDMETHODCALLTYPE GetScanDuration( 
  141.             /* [in] */ DWORD dwSourceIndex,
  142.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtScanDuration) = 0;
  143.         
  144.     };
  145.     
  146. #else     /* C style interface */
  147.  
  148.     typedef struct IAMPlayListItemVtbl
  149.     {
  150.         BEGIN_INTERFACE
  151.         
  152.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  153.             IAMPlayListItem __RPC_FAR * This,
  154.             /* [in] */ REFIID riid,
  155.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  156.         
  157.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  158.             IAMPlayListItem __RPC_FAR * This);
  159.         
  160.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  161.             IAMPlayListItem __RPC_FAR * This);
  162.         
  163.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFlags )( 
  164.             IAMPlayListItem __RPC_FAR * This,
  165.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  166.         
  167.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceCount )( 
  168.             IAMPlayListItem __RPC_FAR * This,
  169.             /* [out] */ DWORD __RPC_FAR *pdwSources);
  170.         
  171.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceURL )( 
  172.             IAMPlayListItem __RPC_FAR * This,
  173.             /* [in] */ DWORD dwSourceIndex,
  174.             /* [out] */ BSTR __RPC_FAR *pbstrURL);
  175.         
  176.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceStart )( 
  177.             IAMPlayListItem __RPC_FAR * This,
  178.             /* [in] */ DWORD dwSourceIndex,
  179.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtStart);
  180.         
  181.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceDuration )( 
  182.             IAMPlayListItem __RPC_FAR * This,
  183.             /* [in] */ DWORD dwSourceIndex,
  184.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtDuration);
  185.         
  186.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceStartMarker )( 
  187.             IAMPlayListItem __RPC_FAR * This,
  188.             /* [in] */ DWORD dwSourceIndex,
  189.             /* [out] */ DWORD __RPC_FAR *pdwMarker);
  190.         
  191.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceEndMarker )( 
  192.             IAMPlayListItem __RPC_FAR * This,
  193.             /* [in] */ DWORD dwSourceIndex,
  194.             /* [out] */ DWORD __RPC_FAR *pdwMarker);
  195.         
  196.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceStartMarkerName )( 
  197.             IAMPlayListItem __RPC_FAR * This,
  198.             /* [in] */ DWORD dwSourceIndex,
  199.             /* [out] */ BSTR __RPC_FAR *pbstrStartMarker);
  200.         
  201.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSourceEndMarkerName )( 
  202.             IAMPlayListItem __RPC_FAR * This,
  203.             /* [in] */ DWORD dwSourceIndex,
  204.             /* [out] */ BSTR __RPC_FAR *pbstrEndMarker);
  205.         
  206.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetLinkURL )( 
  207.             IAMPlayListItem __RPC_FAR * This,
  208.             /* [out] */ BSTR __RPC_FAR *pbstrURL);
  209.         
  210.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScanDuration )( 
  211.             IAMPlayListItem __RPC_FAR * This,
  212.             /* [in] */ DWORD dwSourceIndex,
  213.             /* [out] */ REFERENCE_TIME __RPC_FAR *prtScanDuration);
  214.         
  215.         END_INTERFACE
  216.     } IAMPlayListItemVtbl;
  217.  
  218.     interface IAMPlayListItem
  219.     {
  220.         CONST_VTBL struct IAMPlayListItemVtbl __RPC_FAR *lpVtbl;
  221.     };
  222.  
  223.     
  224.  
  225. #ifdef COBJMACROS
  226.  
  227.  
  228. #define IAMPlayListItem_QueryInterface(This,riid,ppvObject)    \
  229.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  230.  
  231. #define IAMPlayListItem_AddRef(This)    \
  232.     (This)->lpVtbl -> AddRef(This)
  233.  
  234. #define IAMPlayListItem_Release(This)    \
  235.     (This)->lpVtbl -> Release(This)
  236.  
  237.  
  238. #define IAMPlayListItem_GetFlags(This,pdwFlags)    \
  239.     (This)->lpVtbl -> GetFlags(This,pdwFlags)
  240.  
  241. #define IAMPlayListItem_GetSourceCount(This,pdwSources)    \
  242.     (This)->lpVtbl -> GetSourceCount(This,pdwSources)
  243.  
  244. #define IAMPlayListItem_GetSourceURL(This,dwSourceIndex,pbstrURL)    \
  245.     (This)->lpVtbl -> GetSourceURL(This,dwSourceIndex,pbstrURL)
  246.  
  247. #define IAMPlayListItem_GetSourceStart(This,dwSourceIndex,prtStart)    \
  248.     (This)->lpVtbl -> GetSourceStart(This,dwSourceIndex,prtStart)
  249.  
  250. #define IAMPlayListItem_GetSourceDuration(This,dwSourceIndex,prtDuration)    \
  251.     (This)->lpVtbl -> GetSourceDuration(This,dwSourceIndex,prtDuration)
  252.  
  253. #define IAMPlayListItem_GetSourceStartMarker(This,dwSourceIndex,pdwMarker)    \
  254.     (This)->lpVtbl -> GetSourceStartMarker(This,dwSourceIndex,pdwMarker)
  255.  
  256. #define IAMPlayListItem_GetSourceEndMarker(This,dwSourceIndex,pdwMarker)    \
  257.     (This)->lpVtbl -> GetSourceEndMarker(This,dwSourceIndex,pdwMarker)
  258.  
  259. #define IAMPlayListItem_GetSourceStartMarkerName(This,dwSourceIndex,pbstrStartMarker)    \
  260.     (This)->lpVtbl -> GetSourceStartMarkerName(This,dwSourceIndex,pbstrStartMarker)
  261.  
  262. #define IAMPlayListItem_GetSourceEndMarkerName(This,dwSourceIndex,pbstrEndMarker)    \
  263.     (This)->lpVtbl -> GetSourceEndMarkerName(This,dwSourceIndex,pbstrEndMarker)
  264.  
  265. #define IAMPlayListItem_GetLinkURL(This,pbstrURL)    \
  266.     (This)->lpVtbl -> GetLinkURL(This,pbstrURL)
  267.  
  268. #define IAMPlayListItem_GetScanDuration(This,dwSourceIndex,prtScanDuration)    \
  269.     (This)->lpVtbl -> GetScanDuration(This,dwSourceIndex,prtScanDuration)
  270.  
  271. #endif /* COBJMACROS */
  272.  
  273.  
  274. #endif     /* C style interface */
  275.  
  276.  
  277.  
  278. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetFlags_Proxy( 
  279.     IAMPlayListItem __RPC_FAR * This,
  280.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  281.  
  282.  
  283. void __RPC_STUB IAMPlayListItem_GetFlags_Stub(
  284.     IRpcStubBuffer *This,
  285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  286.     PRPC_MESSAGE _pRpcMessage,
  287.     DWORD *_pdwStubPhase);
  288.  
  289.  
  290. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceCount_Proxy( 
  291.     IAMPlayListItem __RPC_FAR * This,
  292.     /* [out] */ DWORD __RPC_FAR *pdwSources);
  293.  
  294.  
  295. void __RPC_STUB IAMPlayListItem_GetSourceCount_Stub(
  296.     IRpcStubBuffer *This,
  297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  298.     PRPC_MESSAGE _pRpcMessage,
  299.     DWORD *_pdwStubPhase);
  300.  
  301.  
  302. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceURL_Proxy( 
  303.     IAMPlayListItem __RPC_FAR * This,
  304.     /* [in] */ DWORD dwSourceIndex,
  305.     /* [out] */ BSTR __RPC_FAR *pbstrURL);
  306.  
  307.  
  308. void __RPC_STUB IAMPlayListItem_GetSourceURL_Stub(
  309.     IRpcStubBuffer *This,
  310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  311.     PRPC_MESSAGE _pRpcMessage,
  312.     DWORD *_pdwStubPhase);
  313.  
  314.  
  315. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceStart_Proxy( 
  316.     IAMPlayListItem __RPC_FAR * This,
  317.     /* [in] */ DWORD dwSourceIndex,
  318.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtStart);
  319.  
  320.  
  321. void __RPC_STUB IAMPlayListItem_GetSourceStart_Stub(
  322.     IRpcStubBuffer *This,
  323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  324.     PRPC_MESSAGE _pRpcMessage,
  325.     DWORD *_pdwStubPhase);
  326.  
  327.  
  328. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceDuration_Proxy( 
  329.     IAMPlayListItem __RPC_FAR * This,
  330.     /* [in] */ DWORD dwSourceIndex,
  331.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtDuration);
  332.  
  333.  
  334. void __RPC_STUB IAMPlayListItem_GetSourceDuration_Stub(
  335.     IRpcStubBuffer *This,
  336.     IRpcChannelBuffer *_pRpcChannelBuffer,
  337.     PRPC_MESSAGE _pRpcMessage,
  338.     DWORD *_pdwStubPhase);
  339.  
  340.  
  341. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceStartMarker_Proxy( 
  342.     IAMPlayListItem __RPC_FAR * This,
  343.     /* [in] */ DWORD dwSourceIndex,
  344.     /* [out] */ DWORD __RPC_FAR *pdwMarker);
  345.  
  346.  
  347. void __RPC_STUB IAMPlayListItem_GetSourceStartMarker_Stub(
  348.     IRpcStubBuffer *This,
  349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  350.     PRPC_MESSAGE _pRpcMessage,
  351.     DWORD *_pdwStubPhase);
  352.  
  353.  
  354. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceEndMarker_Proxy( 
  355.     IAMPlayListItem __RPC_FAR * This,
  356.     /* [in] */ DWORD dwSourceIndex,
  357.     /* [out] */ DWORD __RPC_FAR *pdwMarker);
  358.  
  359.  
  360. void __RPC_STUB IAMPlayListItem_GetSourceEndMarker_Stub(
  361.     IRpcStubBuffer *This,
  362.     IRpcChannelBuffer *_pRpcChannelBuffer,
  363.     PRPC_MESSAGE _pRpcMessage,
  364.     DWORD *_pdwStubPhase);
  365.  
  366.  
  367. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceStartMarkerName_Proxy( 
  368.     IAMPlayListItem __RPC_FAR * This,
  369.     /* [in] */ DWORD dwSourceIndex,
  370.     /* [out] */ BSTR __RPC_FAR *pbstrStartMarker);
  371.  
  372.  
  373. void __RPC_STUB IAMPlayListItem_GetSourceStartMarkerName_Stub(
  374.     IRpcStubBuffer *This,
  375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  376.     PRPC_MESSAGE _pRpcMessage,
  377.     DWORD *_pdwStubPhase);
  378.  
  379.  
  380. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetSourceEndMarkerName_Proxy( 
  381.     IAMPlayListItem __RPC_FAR * This,
  382.     /* [in] */ DWORD dwSourceIndex,
  383.     /* [out] */ BSTR __RPC_FAR *pbstrEndMarker);
  384.  
  385.  
  386. void __RPC_STUB IAMPlayListItem_GetSourceEndMarkerName_Stub(
  387.     IRpcStubBuffer *This,
  388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  389.     PRPC_MESSAGE _pRpcMessage,
  390.     DWORD *_pdwStubPhase);
  391.  
  392.  
  393. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetLinkURL_Proxy( 
  394.     IAMPlayListItem __RPC_FAR * This,
  395.     /* [out] */ BSTR __RPC_FAR *pbstrURL);
  396.  
  397.  
  398. void __RPC_STUB IAMPlayListItem_GetLinkURL_Stub(
  399.     IRpcStubBuffer *This,
  400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  401.     PRPC_MESSAGE _pRpcMessage,
  402.     DWORD *_pdwStubPhase);
  403.  
  404.  
  405. HRESULT STDMETHODCALLTYPE IAMPlayListItem_GetScanDuration_Proxy( 
  406.     IAMPlayListItem __RPC_FAR * This,
  407.     /* [in] */ DWORD dwSourceIndex,
  408.     /* [out] */ REFERENCE_TIME __RPC_FAR *prtScanDuration);
  409.  
  410.  
  411. void __RPC_STUB IAMPlayListItem_GetScanDuration_Stub(
  412.     IRpcStubBuffer *This,
  413.     IRpcChannelBuffer *_pRpcChannelBuffer,
  414.     PRPC_MESSAGE _pRpcMessage,
  415.     DWORD *_pdwStubPhase);
  416.  
  417.  
  418.  
  419. #endif     /* __IAMPlayListItem_INTERFACE_DEFINED__ */
  420.  
  421.  
  422. /* interface __MIDL_itf_playlist_0348 */
  423. /* [local] */ 
  424.  
  425.  
  426. enum AMPlayListFlags
  427.     {    AMPLAYLIST_STARTINSCANMODE    = 0x1,
  428.     AMPLAYLIST_FORCEBANNER    = 0x2
  429.     };
  430.  
  431. enum AMPlayListEventFlags
  432.     {    AMPLAYLISTEVENT_RESUME    = 0,
  433.     AMPLAYLISTEVENT_BREAK    = 0x1,
  434.     AMPLAYLISTEVENT_NEXT    = 0x2,
  435.     AMPLAYLISTEVENT_MASK    = 0xf,
  436.     AMPLAYLISTEVENT_REFRESH    = 0x10
  437.     };
  438.  
  439.  
  440. extern RPC_IF_HANDLE __MIDL_itf_playlist_0348_v0_0_c_ifspec;
  441. extern RPC_IF_HANDLE __MIDL_itf_playlist_0348_v0_0_s_ifspec;
  442.  
  443. #ifndef __IAMPlayList_INTERFACE_DEFINED__
  444. #define __IAMPlayList_INTERFACE_DEFINED__
  445.  
  446. /* interface IAMPlayList */
  447. /* [unique][uuid][object] */ 
  448.  
  449.  
  450. EXTERN_C const IID IID_IAMPlayList;
  451.  
  452. #if defined(__cplusplus) && !defined(CINTERFACE)
  453.     
  454.     MIDL_INTERFACE("56a868fe-0ad4-11ce-b03a-0020af0ba770")
  455.     IAMPlayList : public IUnknown
  456.     {
  457.     public:
  458.         virtual HRESULT STDMETHODCALLTYPE GetFlags( 
  459.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  460.         
  461.         virtual HRESULT STDMETHODCALLTYPE GetItemCount( 
  462.             /* [out] */ DWORD __RPC_FAR *pdwItems) = 0;
  463.         
  464.         virtual HRESULT STDMETHODCALLTYPE GetItem( 
  465.             /* [in] */ DWORD dwItemIndex,
  466.             /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem) = 0;
  467.         
  468.         virtual HRESULT STDMETHODCALLTYPE GetNamedEvent( 
  469.             /* [in] */ WCHAR __RPC_FAR *pwszEventName,
  470.             /* [in] */ DWORD dwItemIndex,
  471.             /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem,
  472.             /* [out] */ DWORD __RPC_FAR *pdwFlags) = 0;
  473.         
  474.         virtual HRESULT STDMETHODCALLTYPE GetRepeatInfo( 
  475.             /* [out] */ DWORD __RPC_FAR *pdwRepeatCount,
  476.             /* [out] */ DWORD __RPC_FAR *pdwRepeatStart,
  477.             /* [out] */ DWORD __RPC_FAR *pdwRepeatEnd) = 0;
  478.         
  479.     };
  480.     
  481. #else     /* C style interface */
  482.  
  483.     typedef struct IAMPlayListVtbl
  484.     {
  485.         BEGIN_INTERFACE
  486.         
  487.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  488.             IAMPlayList __RPC_FAR * This,
  489.             /* [in] */ REFIID riid,
  490.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  491.         
  492.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  493.             IAMPlayList __RPC_FAR * This);
  494.         
  495.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  496.             IAMPlayList __RPC_FAR * This);
  497.         
  498.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetFlags )( 
  499.             IAMPlayList __RPC_FAR * This,
  500.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  501.         
  502.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetItemCount )( 
  503.             IAMPlayList __RPC_FAR * This,
  504.             /* [out] */ DWORD __RPC_FAR *pdwItems);
  505.         
  506.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetItem )( 
  507.             IAMPlayList __RPC_FAR * This,
  508.             /* [in] */ DWORD dwItemIndex,
  509.             /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem);
  510.         
  511.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNamedEvent )( 
  512.             IAMPlayList __RPC_FAR * This,
  513.             /* [in] */ WCHAR __RPC_FAR *pwszEventName,
  514.             /* [in] */ DWORD dwItemIndex,
  515.             /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem,
  516.             /* [out] */ DWORD __RPC_FAR *pdwFlags);
  517.         
  518.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRepeatInfo )( 
  519.             IAMPlayList __RPC_FAR * This,
  520.             /* [out] */ DWORD __RPC_FAR *pdwRepeatCount,
  521.             /* [out] */ DWORD __RPC_FAR *pdwRepeatStart,
  522.             /* [out] */ DWORD __RPC_FAR *pdwRepeatEnd);
  523.         
  524.         END_INTERFACE
  525.     } IAMPlayListVtbl;
  526.  
  527.     interface IAMPlayList
  528.     {
  529.         CONST_VTBL struct IAMPlayListVtbl __RPC_FAR *lpVtbl;
  530.     };
  531.  
  532.     
  533.  
  534. #ifdef COBJMACROS
  535.  
  536.  
  537. #define IAMPlayList_QueryInterface(This,riid,ppvObject)    \
  538.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  539.  
  540. #define IAMPlayList_AddRef(This)    \
  541.     (This)->lpVtbl -> AddRef(This)
  542.  
  543. #define IAMPlayList_Release(This)    \
  544.     (This)->lpVtbl -> Release(This)
  545.  
  546.  
  547. #define IAMPlayList_GetFlags(This,pdwFlags)    \
  548.     (This)->lpVtbl -> GetFlags(This,pdwFlags)
  549.  
  550. #define IAMPlayList_GetItemCount(This,pdwItems)    \
  551.     (This)->lpVtbl -> GetItemCount(This,pdwItems)
  552.  
  553. #define IAMPlayList_GetItem(This,dwItemIndex,ppItem)    \
  554.     (This)->lpVtbl -> GetItem(This,dwItemIndex,ppItem)
  555.  
  556. #define IAMPlayList_GetNamedEvent(This,pwszEventName,dwItemIndex,ppItem,pdwFlags)    \
  557.     (This)->lpVtbl -> GetNamedEvent(This,pwszEventName,dwItemIndex,ppItem,pdwFlags)
  558.  
  559. #define IAMPlayList_GetRepeatInfo(This,pdwRepeatCount,pdwRepeatStart,pdwRepeatEnd)    \
  560.     (This)->lpVtbl -> GetRepeatInfo(This,pdwRepeatCount,pdwRepeatStart,pdwRepeatEnd)
  561.  
  562. #endif /* COBJMACROS */
  563.  
  564.  
  565. #endif     /* C style interface */
  566.  
  567.  
  568.  
  569. HRESULT STDMETHODCALLTYPE IAMPlayList_GetFlags_Proxy( 
  570.     IAMPlayList __RPC_FAR * This,
  571.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  572.  
  573.  
  574. void __RPC_STUB IAMPlayList_GetFlags_Stub(
  575.     IRpcStubBuffer *This,
  576.     IRpcChannelBuffer *_pRpcChannelBuffer,
  577.     PRPC_MESSAGE _pRpcMessage,
  578.     DWORD *_pdwStubPhase);
  579.  
  580.  
  581. HRESULT STDMETHODCALLTYPE IAMPlayList_GetItemCount_Proxy( 
  582.     IAMPlayList __RPC_FAR * This,
  583.     /* [out] */ DWORD __RPC_FAR *pdwItems);
  584.  
  585.  
  586. void __RPC_STUB IAMPlayList_GetItemCount_Stub(
  587.     IRpcStubBuffer *This,
  588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  589.     PRPC_MESSAGE _pRpcMessage,
  590.     DWORD *_pdwStubPhase);
  591.  
  592.  
  593. HRESULT STDMETHODCALLTYPE IAMPlayList_GetItem_Proxy( 
  594.     IAMPlayList __RPC_FAR * This,
  595.     /* [in] */ DWORD dwItemIndex,
  596.     /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem);
  597.  
  598.  
  599. void __RPC_STUB IAMPlayList_GetItem_Stub(
  600.     IRpcStubBuffer *This,
  601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  602.     PRPC_MESSAGE _pRpcMessage,
  603.     DWORD *_pdwStubPhase);
  604.  
  605.  
  606. HRESULT STDMETHODCALLTYPE IAMPlayList_GetNamedEvent_Proxy( 
  607.     IAMPlayList __RPC_FAR * This,
  608.     /* [in] */ WCHAR __RPC_FAR *pwszEventName,
  609.     /* [in] */ DWORD dwItemIndex,
  610.     /* [out] */ IAMPlayListItem __RPC_FAR *__RPC_FAR *ppItem,
  611.     /* [out] */ DWORD __RPC_FAR *pdwFlags);
  612.  
  613.  
  614. void __RPC_STUB IAMPlayList_GetNamedEvent_Stub(
  615.     IRpcStubBuffer *This,
  616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  617.     PRPC_MESSAGE _pRpcMessage,
  618.     DWORD *_pdwStubPhase);
  619.  
  620.  
  621. HRESULT STDMETHODCALLTYPE IAMPlayList_GetRepeatInfo_Proxy( 
  622.     IAMPlayList __RPC_FAR * This,
  623.     /* [out] */ DWORD __RPC_FAR *pdwRepeatCount,
  624.     /* [out] */ DWORD __RPC_FAR *pdwRepeatStart,
  625.     /* [out] */ DWORD __RPC_FAR *pdwRepeatEnd);
  626.  
  627.  
  628. void __RPC_STUB IAMPlayList_GetRepeatInfo_Stub(
  629.     IRpcStubBuffer *This,
  630.     IRpcChannelBuffer *_pRpcChannelBuffer,
  631.     PRPC_MESSAGE _pRpcMessage,
  632.     DWORD *_pdwStubPhase);
  633.  
  634.  
  635.  
  636. #endif     /* __IAMPlayList_INTERFACE_DEFINED__ */
  637.  
  638.  
  639. #ifndef __ISpecifyParticularPages_INTERFACE_DEFINED__
  640. #define __ISpecifyParticularPages_INTERFACE_DEFINED__
  641.  
  642. /* interface ISpecifyParticularPages */
  643. /* [object][helpstring][uuid] */ 
  644.  
  645.  
  646. EXTERN_C const IID IID_ISpecifyParticularPages;
  647.  
  648. #if defined(__cplusplus) && !defined(CINTERFACE)
  649.     
  650.     MIDL_INTERFACE("4C437B91-6E9E-11d1-A704-006097C4E476")
  651.     ISpecifyParticularPages : public IUnknown
  652.     {
  653.     public:
  654.         virtual HRESULT STDMETHODCALLTYPE GetPages( 
  655.             /* [in] */ REFGUID guidWhatPages,
  656.             /* [out] */ CAUUID __RPC_FAR *pPages) = 0;
  657.         
  658.     };
  659.     
  660. #else     /* C style interface */
  661.  
  662.     typedef struct ISpecifyParticularPagesVtbl
  663.     {
  664.         BEGIN_INTERFACE
  665.         
  666.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  667.             ISpecifyParticularPages __RPC_FAR * This,
  668.             /* [in] */ REFIID riid,
  669.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  670.         
  671.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  672.             ISpecifyParticularPages __RPC_FAR * This);
  673.         
  674.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  675.             ISpecifyParticularPages __RPC_FAR * This);
  676.         
  677.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPages )( 
  678.             ISpecifyParticularPages __RPC_FAR * This,
  679.             /* [in] */ REFGUID guidWhatPages,
  680.             /* [out] */ CAUUID __RPC_FAR *pPages);
  681.         
  682.         END_INTERFACE
  683.     } ISpecifyParticularPagesVtbl;
  684.  
  685.     interface ISpecifyParticularPages
  686.     {
  687.         CONST_VTBL struct ISpecifyParticularPagesVtbl __RPC_FAR *lpVtbl;
  688.     };
  689.  
  690.     
  691.  
  692. #ifdef COBJMACROS
  693.  
  694.  
  695. #define ISpecifyParticularPages_QueryInterface(This,riid,ppvObject)    \
  696.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  697.  
  698. #define ISpecifyParticularPages_AddRef(This)    \
  699.     (This)->lpVtbl -> AddRef(This)
  700.  
  701. #define ISpecifyParticularPages_Release(This)    \
  702.     (This)->lpVtbl -> Release(This)
  703.  
  704.  
  705. #define ISpecifyParticularPages_GetPages(This,guidWhatPages,pPages)    \
  706.     (This)->lpVtbl -> GetPages(This,guidWhatPages,pPages)
  707.  
  708. #endif /* COBJMACROS */
  709.  
  710.  
  711. #endif     /* C style interface */
  712.  
  713.  
  714.  
  715. HRESULT STDMETHODCALLTYPE ISpecifyParticularPages_GetPages_Proxy( 
  716.     ISpecifyParticularPages __RPC_FAR * This,
  717.     /* [in] */ REFGUID guidWhatPages,
  718.     /* [out] */ CAUUID __RPC_FAR *pPages);
  719.  
  720.  
  721. void __RPC_STUB ISpecifyParticularPages_GetPages_Stub(
  722.     IRpcStubBuffer *This,
  723.     IRpcChannelBuffer *_pRpcChannelBuffer,
  724.     PRPC_MESSAGE _pRpcMessage,
  725.     DWORD *_pdwStubPhase);
  726.  
  727.  
  728.  
  729. #endif     /* __ISpecifyParticularPages_INTERFACE_DEFINED__ */
  730.  
  731.  
  732. #ifndef __IAMRebuild_INTERFACE_DEFINED__
  733. #define __IAMRebuild_INTERFACE_DEFINED__
  734.  
  735. /* interface IAMRebuild */
  736. /* [object][helpstring][uuid][local] */ 
  737.  
  738.  
  739. EXTERN_C const IID IID_IAMRebuild;
  740.  
  741. #if defined(__cplusplus) && !defined(CINTERFACE)
  742.     
  743.     MIDL_INTERFACE("02EF04DD-7580-11d1-BECE-00C04FB6E937")
  744.     IAMRebuild : public IUnknown
  745.     {
  746.     public:
  747.         virtual HRESULT STDMETHODCALLTYPE RebuildNow( void) = 0;
  748.         
  749.     };
  750.     
  751. #else     /* C style interface */
  752.  
  753.     typedef struct IAMRebuildVtbl
  754.     {
  755.         BEGIN_INTERFACE
  756.         
  757.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  758.             IAMRebuild __RPC_FAR * This,
  759.             /* [in] */ REFIID riid,
  760.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  761.         
  762.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  763.             IAMRebuild __RPC_FAR * This);
  764.         
  765.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  766.             IAMRebuild __RPC_FAR * This);
  767.         
  768.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RebuildNow )( 
  769.             IAMRebuild __RPC_FAR * This);
  770.         
  771.         END_INTERFACE
  772.     } IAMRebuildVtbl;
  773.  
  774.     interface IAMRebuild
  775.     {
  776.         CONST_VTBL struct IAMRebuildVtbl __RPC_FAR *lpVtbl;
  777.     };
  778.  
  779.     
  780.  
  781. #ifdef COBJMACROS
  782.  
  783.  
  784. #define IAMRebuild_QueryInterface(This,riid,ppvObject)    \
  785.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  786.  
  787. #define IAMRebuild_AddRef(This)    \
  788.     (This)->lpVtbl -> AddRef(This)
  789.  
  790. #define IAMRebuild_Release(This)    \
  791.     (This)->lpVtbl -> Release(This)
  792.  
  793.  
  794. #define IAMRebuild_RebuildNow(This)    \
  795.     (This)->lpVtbl -> RebuildNow(This)
  796.  
  797. #endif /* COBJMACROS */
  798.  
  799.  
  800. #endif     /* C style interface */
  801.  
  802.  
  803.  
  804. HRESULT STDMETHODCALLTYPE IAMRebuild_RebuildNow_Proxy( 
  805.     IAMRebuild __RPC_FAR * This);
  806.  
  807.  
  808. void __RPC_STUB IAMRebuild_RebuildNow_Stub(
  809.     IRpcStubBuffer *This,
  810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  811.     PRPC_MESSAGE _pRpcMessage,
  812.     DWORD *_pdwStubPhase);
  813.  
  814.  
  815.  
  816. #endif     /* __IAMRebuild_INTERFACE_DEFINED__ */
  817.  
  818.  
  819. /* interface __MIDL_itf_playlist_0351 */
  820. /* [local] */ 
  821.  
  822. EXTERN_GUID(IID_IAMPlayListItem,0x56a868ff,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
  823. EXTERN_GUID(IID_IAMRebuild,0x2ef04dd,0x7580,0x11d1,0xbe,0xce,0x0,0xc0,0x4f,0xb6,0xe9,0x37);
  824. EXTERN_GUID(IID_IAMPlayList,0x56a868fe,0x0ad4,0x11ce,0xb0,0xa3,0x0,0x20,0xaf,0x0b,0xa7,0x70);
  825. EXTERN_GUID(SPECIFYPAGES_STATISTICS,0x4c437b92,0x6e9e,0x11d1,0xa7,0x4,0x0,0x60,0x97,0xc4,0xe4,0x76);
  826. EXTERN_GUID(IID_ISpecifyParticularPages,0x4c437b91,0x6e9e,0x11d1,0xa7,0x4,0x0,0x60,0x97,0xc4,0xe4,0x76);
  827.  
  828.  
  829. extern RPC_IF_HANDLE __MIDL_itf_playlist_0351_v0_0_c_ifspec;
  830. extern RPC_IF_HANDLE __MIDL_itf_playlist_0351_v0_0_s_ifspec;
  831.  
  832. /* Additional Prototypes for ALL interfaces */
  833.  
  834. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * ); 
  835. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  836. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); 
  837. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); 
  838.  
  839. /* end of Additional Prototypes */
  840.  
  841. #ifdef __cplusplus
  842. }
  843. #endif
  844.  
  845. #endif
  846.  
  847.  
  848.